home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 2 / LSD and 17bit Compendium Deluxe - Volume II.iso / a / prog / asmsrc / icsources.lha / PROGRAMS / BASIC INTERRUPT < prev    next >
Encoding:
Text File  |  1990-06-23  |  2.6 KB  |  149 lines

  1.      
  2.        section ax,code_c
  3.       opt c-,d+,w-,o+    
  4.     
  5.       include 'df1:insert/custom registers'
  6.     
  7. badd=(320*256)/8
  8.     
  9.       lea $dff000,a6
  10.       move.w #$87e0,dmacon(a6)
  11.       jsr cop_init
  12.        move.l $6c,oldirq
  13.        move.l #newirq,$6c
  14. mse:
  15.        cmp.b #$f0,$dff006
  16.        bne mse
  17.      
  18. zog:
  19.        btst #6,$bfe001
  20.       bne mse
  21.        move.l oldirq,$6c
  22.        move.l copaddr,a0
  23.        move.l oldcop,(a0)
  24.        clr.l d0
  25. nolib:    
  26.       rts    
  27.     
  28. newirq:  
  29.       movem.l d0-d7/a0-a6,$75000
  30.     
  31.       movem.l $75000,d0-d7/a0-a6
  32.       dc.w $4ef9
  33.     
  34. oldirq: 
  35.       dc.l 0
  36.  
  37.       even
  38.  
  39. cop_init:
  40.      
  41.        lea screen,a0
  42.        move.l a0,d0
  43.        move.w d0,lo1
  44.        swap d0
  45.        move.w d0,hi1
  46.        lea screen+badd,a0
  47.        move.l a0,d0
  48.        move.w d0,lo2
  49.        swap d0
  50.        move.w d0,hi2
  51.        lea screen+badd*2,a0
  52.        move.l a0,d0
  53.        move.w d0,lo3
  54.        swap d0
  55.        move.w d0,hi3
  56.        lea screen+badd*3,a0
  57.        move.l a0,d0
  58.        move.w d0,lo4
  59.        swap d0
  60.        move.w d0,hi4
  61.        lea screen+badd*4,a0
  62.        move.l a0,d0
  63.        move.w d0,lo5
  64.        swap d0
  65.        move.w d0,hi5
  66.        moveq #$00,d0
  67.        lea grafname,a1
  68.        move.l $4,a6
  69.        jsr -132(A6)
  70.        move.l $4,A6
  71.        jsr -408(a6)
  72.        tst d0
  73.        beq nolib
  74.        move.l d0,grafbase
  75.        move.l d0,a6
  76.        add.l #$32,d0
  77.        move.l d0,a0
  78.        move.l a0,copaddr
  79.        move.l (a0),oldcop
  80.        move.l #newcop,(a0)
  81.        rts
  82.  
  83.       even
  84.       
  85. grafname: dc.b "graphics.library",0
  86. grafbase: dc.l 0
  87. oldcop:   dc.l 0
  88. copaddr:  dc.l 0
  89.  
  90.       even
  91.  
  92. newcop:       dc.w $0100,$1200
  93.         dc.w $0102
  94. boh:        dc.w $0000
  95.        dc.w $0120
  96. sp1l:       dc.w $0000,$0122
  97. sp1h:        dc.w $0000 
  98.        dc.w $0124
  99. sp2l:       dc.w $0000,$0126
  100. sp2h:        dc.w $0000 
  101.        dc.w $0128
  102. sp3l:       dc.w $0000,$012a
  103. sp3h:        dc.w $0000 
  104.        dc.w $012c
  105. sp4l:       dc.w $0000,$012e
  106. sp4h:        dc.w $0000
  107.        dc.w $0130
  108. sp5l:       dc.w $0000,$132
  109. sp5h:        dc.w $0000
  110.  scr:         dc.w $2001,$fffe
  111.         dc.w $00e0
  112.  hi1:       dc.w $0000
  113.        dc.w $00e2
  114.  lo1:       dc.w $0000     
  115.        dc.w $00e4
  116.  hi2:       dc.w $0000
  117.        dc.w $00e6
  118.  lo2:       dc.w $0000 
  119.        dc.w $00e8
  120.  hi3:       dc.w $0000
  121.        dc.w $00ea
  122.  lo3:       dc.w $0000 
  123.        dc.w $00ec
  124.  hi4:       dc.w $0000
  125.        dc.w $00ee
  126.  lo4:       dc.w $0000 
  127.        dc.w $00f0
  128.  hi5:       dc.w $0000
  129.        dc.w $00f2
  130.  lo5:       dc.w $0000
  131.        dc.w $008e,$1a64 
  132.        dc.w $0090,$39d1
  133. cols:      dc.w $180,$000,$182,$fff,$184,$fdb,$186,$db9
  134.        dc.w $188,$c97,$18a,$a75,$18c,$853,$18e,$033
  135.        dc.w $190,$c60,$192,$ba5,$194,$962,$196,$530
  136.        dc.w $198,$db4,$19a,$558,$19c,$447,$19e,$336
  137.        dc.w $1a0,$a40,$1a2,$f44,$1a4,$b00,$1a6,$222
  138.        dc.w $1a8,$333,$1aa,$444,$1ac,$555,$1ae,$666        
  139.        dc.w $1b0,$777,$1b2,$888,$1b4,$999,$1b6,$aaa
  140.        dc.w $1b8,$ccc,$1ba,$ddd,$1bc,$eee,$1be,$fff
  141.        dc.w $ffff,$fffe
  142.      
  143.        even
  144.  
  145. screen:
  146.        ds.b 1*badd
  147.      
  148.  
  149.